<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Controller extends Controller {

	function MY_Controller(){
		parent::Controller();
	}

    /**
	 * 检测用户是否已经登录，已登录继续，否则提示并跳转到登录页面
	 *
	 */
	function check_user_login(){
		if ($this->check_user_session()) {
			return;
		} else {
			self::redirect('用户未登录或会话已经过期，请重新登录！',base_url(),3);
		}
	}

	/**
	 * 检测管理员是否已经登录
	 *
	 */
	function check_admin_login(){
		if ($this->get_session_value('admin')) {
			return;
		} else {
			redirect(base_url().'admin/login/');
		}
	}

	/**
	 * 检测用户session,存在返回TRUE,不存在返回FALSE
	 *
	 * @return bool TRUE/FALSE
	 */
	function check_user_session(){
		$this->load->library('session');
		return $this->session->userdata('user');
	}

	/**
	 * 获取当前登录用户名
	 *
	 * @return string/false
	 */
	function get_user_name(){
		$this->load->library('session');
		return $this->session->userdata('username');
	}

	/**
	 * 获取当前登录用户的uid
	 *
	 * @return FALSE/int
	 */
	function get_uid(){
		$this->load->library('session');
		return $this->session->userdata('uid');
	}

	/**
	 * 共用跳转页面
	 *
	 * @param string $msg
	 * @param string $url
	 * @param int $delay
	 * @param string $template
	 * @param true/flase $exit
	 */
	function redirect($msg,$url='',$delay=2,$exit=true){
		if ($url === '') {
			$url = base_url();
		}
		if ($url != 'back' && strtolower(substr($url,0,4)) != 'http') {
			$url = 'http://'.$url;
		}
		$params = array('url'=>$url,'delay'=>$delay,'msg'=>$msg);
		$this->template->view('v1/redirect',$params);
		$exit && exit();
	}

    function message($msg,$url='',$url_txt,$exit=true){
		$params = array('msg'=>$msg,'url_txt'=>$url_txt,'url'=>$url);
		$this->template->view('v1/message_sys',$params);
		$exit && exit();
	}

	/**
	 * 获取session值
	 *
	 * @param string $key
	 * @return mixed
	 */
	function get_session_value($key){
		$this->load->library('session');
		return $this->session->userdata($key);
	}

	/**
	 * 设置session信息
	 * @param $key
	 * @param $value
	 * @return TRUE/FALSE
	 */
	function set_session_value($key,$value){
		$this->load->library('session');
		return $this->session->set_userdata($key,$value);
	}

	/**
	 * 销毁session
	 *
	 * @param string $key
	 * @return TRUE/FALSE
	 */
	function unset_session_value($key){
		$this->load->library('session');
		return $this->session->unset_userdata($key);
	}

}
?>